package com.bailan.foreat.es;

import com.bailan.foreat.mapper.StoreMapper;
import com.bailan.foreat.vo.EsStore;
import com.bailan.foreat.vo.StoreVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

import java.util.List;
import java.util.stream.Collectors;

@Component("esStore")
public class ESStoreDataWriter implements ESDataWriter{

    @Autowired
    ESStoreRepository esStoreRepository;

    @Autowired
    StoreMapper storeMapper;


    public void dataWrite() {
        //将mysql中的数据全部读取出来,然后写入到es中
        List<StoreVo> storeVoList = storeMapper.selectAll();
        List<EsStore> esStoreList = storeVoList.stream().map(store -> {
            EsStore esStore = new EsStore();
            esStore.setId(store.getId());
            esStore.setStoreName(store.getStoreName());
            esStore.setStoreImg(store.getStoreImg());
            esStore.setDetail(store.getDetail());
            esStore.setStatus(store.getStatus());
            esStore.setSellerId(store.getSellerId());
            esStore.setAddressId(store.getAddressId());
            esStore.setAddress(store.getAddress());
            esStore.setTypeName(store.getTypeName());

            return esStore;
        }).collect(Collectors.toList());

        esStoreRepository.saveAll(esStoreList);
    }

}
